# Awesome Window Manager Configuration

This is my personal configuration for
the [Awesome Window Manager](https://awesomewm.org/).

> awesome is a highly configurable, next generation framework window manager
> for X. It is very fast, extensible and licensed under the GNU GPLv2 license.

## Installation

You are free to reuse this code if you want, but you must know what you're
doing. If you really want to install this awesome (pun intended!)
configuration, you need to:

- Have a recent GNU/Linux OS at hand.
- Install:
  - Awesome **Version 4.x**.
  - dbus (should come with your OS)
  - pulseaudio (should come with your OS)
  - upower (should come with your OS)
  - cal ([util-linux](https://en.wikipedia.org/wiki/util-linux)), if on Awesome < **4.2**
  - [xscreensaver](http://www.jwz.org/xscreensaver/)
  - [connman](https://01.org/connman)
  - [quodlibet](https://quodlibet.readthedocs.io/) media player
  - [vlc](https://www.videolan.org) media player
  - [terminology](https://www.enlightenment.org/about-terminology) terminal
    emulator.

- Clone this repository (and its submodules) into your `~/.config/awesome` directory.
```shell
git clone --recursive https://notabug.org/stefano-m/awesomerc.git ~/.config/awesome
```

### Install Widgets with Luarocks

- Install [`luarocks`](https://github.com/luarocks/luarocks/wiki/Download).
- Install the widgets:

```shell
for rock in media_player connman_widget power_widget pulseaudio_widget; do
  luarocks install --local $rock
done
```

### Install Widgets on NixOS

See https://github.com/stefano-m/nix-stefano-m-nix-overlays

## Main Features

- Network Widget (uses `connman`)
- Battery power widget (uses `upower`)
- Volume control widget (uses `pulseaudio`)
- Media player controls for `vlc` and `quodlibet`
- Screen locking (uses `xscreensaver`)
- Calendar tooltip in clock widget (uses `cal` on Awesome < **4.2**)
- Quake-style drop-down terminal (uses `terminology`)
- CAPS LOCK indicator

![screenshot](/screenshot.png?raw=true)
